package Day12.Set;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Demo03Set
 * @date 2022年07月09日 18:51
 * @Description: HashCode存储自定义类型元素
 */

import java.util.HashSet;

/**
 * set集合报错元素唯一：
 *      存储的元素（String,Integer,...Student，Person..)必须重写hashCode方法和equals方法
 *
 * 要求：
 *      同名同年龄的人，视为同一个人，只能存储一次
 */

public class Demo03Set {
    public static void main(String[] args) {
        //创建HashSet集合存储Person
        HashSet<Person> set = new HashSet<>();
        Person p1 = new Person("小美女", 12);
        Person p2 = new Person("小美女", 12);
        Person p3 = new Person("小美女", 12);

        System.out.println(p1.hashCode());
        System.out.println(p2.hashCode());
        System.out.println(p1==p2);//两者的hashcode值不同
        set.add(p1);
        set.add(p2);
        set.add(p3);
        System.out.println(set);
    }
}
